<?php
class Usuarios_admin {
  private $id_usuario_admin;
  private $login;
  private $nome;
  private $senha;
  private $email;
  
  public function __construct($sFiltro = "", $sOrdem = "id_usuario_admin") {
    global $oDB;
    $sSQL = "SELECT id_usuario_admin, login, nome, senha, email FROM usuarios_admin";
    if ($sFiltro) {
      $sSQL .= " WHERE ($sFiltro)";
    }
    if ($sOrdem) {
      $sSQL .= " ORDER BY $sOrdem";
    }
    if (!empty($sFiltro)) {
      $oRes = $oDB->Execute($sSQL);
      if ($oRes == false) {
        trigger_error($oDB->ErrorMsg());
      } else {
        $this->id_usuario_admin = $oRes->fields['id_usuario_admin'];
        $this->login = $oRes->fields['login'];
        $this->nome = $oRes->fields['nome'];
        $this->senha = $oRes->fields['senha'];
        $this->email = $oRes->fields['email'];
      }
    }
  }
  
  public function getId_usuario_admin() {
    return $this->id_usuario_admin;
  }
  public function setId_usuario_admin($valor) {
    $this->id_usuario_admin = $valor;
  }
  
  public function getLogin() {
    return $this->login;
  }
  public function setLogin($valor) {
    $this->login = $valor;
  }
  
  public function getNome() {
    return $this->nome;
  }
  public function setNome($valor) {
    $this->nome = $valor;
  }
  
  public function getSenha() {
    return $this->senha;
  }
  public function setSenha($valor) {
    $this->senha = $valor;
  }
  
  public function getEmail() {
    return $this->email;
  }
  public function setEmail($valor) {
    $this->email = $valor;
  }
  
  public function atualizar() {
    global $oDB;
    $campos = array(
      'login' => $this->login,
      'nome' => $this->nome,
      'senha' => $this->senha,
      'email' => $this->email,
    );
    if ($this->id_usuario_admin > 0) {
      $bRes = $oDB->AutoExecute('usuarios_admin', $campos, 'UPDATE', 'id_usuario_admin = '.intval($this->id_usuario_admin));
    } else {
      $bRes = $oDB->AutoExecute('usuarios_admin', $campos, 'INSERT');
    }
    return $bRes;
  }
  
  public function excluir($aIds) {
    global $oDB;
    $sIds = implode(',', $aIds);
    $sSQL = 'DELETE FROM usuarios_admin WHERE id_usuario_admin IN ('. $sIds .')';
    $oRes = $oDB->execute($sSQL);
    if ($oRes != false) {
      return true;
    }
  }

  public static function listar($filtro = "", $sOrdem = "id_usuario_admin") {
    global $oDB;
    $lista = array();
    $sSQL = "SELECT id_usuario_admin, login, nome, senha, email FROM usuarios_admin";
    if ($filtro) {
      $sSQL .= " WHERE ($filtro)";
    }
    if ($sOrdem) {
      $sSQL .= " ORDER BY $sOrdem";
    }
    $oRes = $oDB->Execute($sSQL);
    if ($oRes == false) {
      trigger_error($oDB->ErrorMsg());
    } else {
      while (!$oRes->EOF) {
        $linha = new self();
        $linha->id_usuario_admin = $oRes->fields['id_usuario_admin'];
        $linha->login = $oRes->fields['login'];
        $linha->nome = $oRes->fields['nome'];
        $linha->senha = $oRes->fields['senha'];
        $linha->email = $oRes->fields['email'];
        $lista[] = $linha;
        
        $oRes->MoveNext();
      }
    }
    return $lista;
  }
  
}
?>
